package com.shuda.business.distribution.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import com.shuda.common.entity.BaseEntity;

/**
 * 分发规则实体类：移除Lombok，显式提供访问器。
 */
@TableName("t_distribution_rule")
public class DistributionRuleEntity extends BaseEntity {

    /**
     * 规则名称
     */
    private String ruleName;

    /**
     * 方案ID
     */
    private Long schemeId;

    /**
     * 规则类型 (region: 地域, product: 产品类型, customer: 客户画像, time: 时间段)
     */
    private String ruleType;

    /**
     * 规则条件 (JSON格式)
     */
    private String ruleCondition;

    /**
     * 规则值
     */
    private String ruleValue;

    /**
     * 优先级
     */
    private Integer priority;

    /**
     * 权重
     */
    private Integer weight;

    /**
     * 状态 (0: 禁用, 1: 启用)
     */
    private Integer status;

    /**
     * 创建人ID
     */
    private Long createdBy;

    /**
     * 删除标识 (0: 未删除, 1: 已删除)
     */
    private Integer deleted;

    /**
     *
     * DistributionRuleEntity访问器
     * @param $params$
     * @return $returns$
     * @author ink
     * @Description: 明确提供getter/setter，匹配Service层Lambda方法引用
     * @date 2025-11-09 11:02
     */
    public String getRuleName() { return ruleName; }
    public void setRuleName(String ruleName) { this.ruleName = ruleName; }

    public Long getSchemeId() { return schemeId; }
    public void setSchemeId(Long schemeId) { this.schemeId = schemeId; }

    public String getRuleType() { return ruleType; }
    public void setRuleType(String ruleType) { this.ruleType = ruleType; }

    public String getRuleCondition() { return ruleCondition; }
    public void setRuleCondition(String ruleCondition) { this.ruleCondition = ruleCondition; }

    public String getRuleValue() { return ruleValue; }
    public void setRuleValue(String ruleValue) { this.ruleValue = ruleValue; }

    public Integer getPriority() { return priority; }
    public void setPriority(Integer priority) { this.priority = priority; }

    public Integer getWeight() { return weight; }
    public void setWeight(Integer weight) { this.weight = weight; }

    public Integer getStatus() { return status; }
    public void setStatus(Integer status) { this.status = status; }

    public Long getCreatedBy() { return createdBy; }
    public void setCreatedBy(Long createdBy) { this.createdBy = createdBy; }

    public Integer getDeleted() { return deleted; }
    public void setDeleted(Integer deleted) { this.deleted = deleted; }
}